export interface OpeningMove {
  move: string
  evaluation: number
  popularity: number
  winRate: number
  nextMoves?: OpeningMove[]
}

export interface Opening {
  name: string
  code: string
  moves: string[]
  evaluation: number
  popularity: number
  winRate: number
  complexity: 'basic' | 'intermediate' | 'advanced'
  style: 'positional' | 'tactical' | 'dynamic'
  description: string
  keyPositions: string[]
  commonPlans: string[]
  typicalTactics: string[]
}

export interface OpeningRecommendation {
  opening: Opening
  confidence: number
  reason: string
  alternativeMoves: OpeningMove[]
}

export interface PlayerOpeningStats {
  openingCode: string
  gamesPlayed: number
  wins: number
  losses: number
  draws: number
  averageEvaluation: number
  lastPlayed: Date
} 